// pages/shopping/shopping.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isShowList: false,
    list: [],
    hasList: false,
    totalPrice: 0,
    selectAllStatus: false
  },
  goJisuan(){
    wx.navigateTo({
      url: './jisuan/jisuan.wxml'
    })
  },
  getTotalPrice() {
    let list = this.data.list; // 获取购物车列表
    let total = 0;
    for (let i = 0; i < list.length; i++) { // 循环列表得到每个数据
      if (list[i].selected) { // 判断选中才会计算价格
        total += list[i].num * list[i].price; // 所有价格加起来
      }
    }
    this.setData({ // 最后赋值到data中渲染到页面
      list: list,
      totalPrice: total.toFixed(2)
    });
  },
  /**
   * 当前商品选中事件
   */
  selectList(e) {
    var that = this;
    const index = e.currentTarget.dataset.index;
    let list = this.data.list;
    const selected = list[index].selected;
    list[index].selected = !selected;

    //这里写一个所有商品选中，全选勾选功能  -xzz1215
    var select_num = 0;
    for (var i = 0; i < list.length; i++) {
      if (list[i].selected) {
        select_num += 1;
      }
    }
    if (select_num == list.length) {
      this.setData({
        selectAllStatus: true,
      })
    } else {
      this.setData({
        selectAllStatus: false,
      })
    }

    this.setData({
      list: list
    });
    this.getTotalPrice();
  },
  selectAll(e) {
    let selectAllStatus = this.data.selectAllStatus; // 是否全选状态
    selectAllStatus = !selectAllStatus;
    let list = this.data.list;

    for (let i = 0; i < list.length; i++) {
      list[i].selected = selectAllStatus; // 改变所有商品状态
    }
    this.setData({
      selectAllStatus: selectAllStatus,
      list: list
    });
    this.getTotalPrice(); // 重新获取总价
  },
  // 增加数量
  addCount(e) {
    console.log(e)
    // const index = e.currentTarget.dataset.index;
    // let list = this.data.list;
    // let num = list[index].num;
    // num = num + 1;
    // list[index].num = num;
    // this.setData({
    //   list: list
    // });
    // this.getTotalPrice();
  },
  // 减少数量
  minusCount(e) {
    const index = e.currentTarget.dataset.index;
    let list = this.data.list;
    let num = list[index].num;
    if (num <= 1) {
      return false;
    }
    num = num - 1;
    list[index].num = num;
    this.setData({
      list: list
    });
    this.getTotalPrice();
  },
  deleteList(e) {
    const index = e.currentTarget.dataset.index;
    let list = this.data.list;
    list.splice(index, 1); // 删除购物车列表里这个商品
    this.setData({
      list: list
    });
    if (!list.length) { // 如果购物车为空
      this.setData({
        hasList: false // 修改标识为false，显示购物车为空页面
      });
    } else { // 如果不为空
      this.getTotalPrice(); // 重新计算总价格
    }
  },
  getDataList: function() {
    wx.showLoading({
      title: '数据加载中'
    })
    const db = wx.cloud.database();
    var that = this
    db.collection('home_shujv').where({}).get({
      success: function(res) {
        that.setData({
          list: res.data
        })
        wx.hideLoading()
        wx.stopPullDownRefresh()
      }
    })
  },
  goHome: function() {
    wx.switchTab({
      url: '/pages/index/index'
    })
  },
  addCount: function(e) {
    var index = e.target.dataset.index;
    console.log(this.data)
    var count = this.data.list[index].num;
    // 商品总数量+1  
    if (count < 10) {
      this.data.list[index].num++;
    }
    // 将数值与状态写回  
    this.setData({
      list: this.data.list
    });
  },
  delCount: function(e) {
    var index = e.target.dataset.index;
    var count = this.data.list[index].num;
    // 商品总数量-1
    if (count > 1) {
      this.data.list[index].num--;
    }
    // 将数值与状态写回  
    this.setData({
      list: this.data.list
    });
  },
  checkboxChange: function(e) {
    console.log(e)
  },
  checkboxsChange: function(e) {
    console.log(e)
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
    this.getDataList()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {
    this.setData({
      list:[],
      
    })
    this.getDataList()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})